
package com.feib.soeasy.dao;

import java.util.List;
import java.util.Map;

import com.feib.soeasy.model.Group;
import com.feib.soeasy.pagination.PaginatedList;


/**
 * @title (#)Soez5001Dao.java<br>
 * @description <br>
 * @author Jimmy Liu<br>
 * @version 1.0.0 2010/11/25
 * @copyright Far Eastern International Bank Copyright (c) 2010<br>
 * @2011/3/7 create by Jimmy Liu<br>
 */
public interface Soez5001Dao {

    /**
     * @param group
     * @return
     */
    public PaginatedList<Map<String, Object>> queryByGroup(Group group, PaginatedList<Map<String, Object>> paginationConfig);
    
    public List<Map<String, Object>> queryByUID(String groupNo,String UID);
    
    
    /**
     * 
     * @param fbcode 處理結果 1: 正常銷帳, 2:異常, 3:忽略此筆
     * @param uid
     * @param reason 處理原因
     * @return
     */
    public int updateFeedbackLogResultCode(Integer fbcode, Long uid, String reason);

    /**
     * 此方法回傳資料會包含 table Payment 的資料
     * @param feedbackUid
     * @param group
     * @return
     */
    public Map<String, Object> findFeedbackLogByPk(Long feedbackUid, Group group);
    
    /**
     * 此方法回傳資料不會包含 table Payment 的資料
     * @param feedbackUid
     * @return
     */
    public Map<String, Object> findFeedbackLogByPk(Long feedbackUid);

    /**
     * @param paymentPk
     * @return
     */
    public Map<String, Object> findPaymentByPk(Long paymentPk);

    /**
     * @param group
     * @param args
     * @return
     */
    public String getQuerySql(Group group, List<Object> args);

}
